<!-- 我的底部 -->

<template>
  <div>
    <BtnPrimary v-if="isWait" :title="MAP.SUBMIT" @click="toDeal" />

    <BtnDanger v-if="isWait" :title="MAP.REJ" @click="toIgnore" />

    <BtnPrimary v-if="isDealing" :title="MAP.PASS" @click="toFinish" />
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import mixAddToSearch from '@admin/components/add/mixAddToSearch'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyFooter',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [mixAddToSearch('', 'AddEmergencyArchive')],

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 是否为未处置
     */
    isWait() {
      return this.one.handleStatus === 1
    },

    /**
     * 是否为处置中
     */
    isDealing() {
      return this.one.handleStatus === 2
    },
  },

  /**
   * 监听属性 (深度 deep 首次 immediate)
   */
  watch: {
    /**
     * 监听处置完成
     */
    readyPass(ready) {
      ready && this.afterFinish()
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 点击处置
     */
    async toDeal() {
      await this.refForm.check()
      this.startSubmit()
    },

    /**
     * 点击忽略
     */
    async toIgnore() {
      const { MAP: { WORD, REJ } } = this
      await CORE.CONFIRM.warning(`确定${REJ}此条${WORD}吗？`, `${REJ}${WORD}`)
      this.startRej()
    },

    /**
     * 点击完成
     */
    toFinish() {
      this.startPass()
    },

    /**
     * 完成之后
     */
    async afterFinish() {
      const h = this.$createElement
      const message = h('div', null, [h('p', '已处置完成。'), h('p', '是否要为当前事件建立档案？')])
      await CORE.CONFIRM.success(message, '建档')

      const { one, MAP: { KEY_LIST } } = this
      const obj = { eventId: one.id }
      KEY_LIST.forEach((key) => (obj[key] = one[key]))

      this.windowAdd(obj)
    },
  },
}
</script>
